package com.niiwoo.civet.trade.dto.response;

import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *  
 * 鸿特个人极速借
 */
@Data
@ToString
public class OrgPersonalFastLoanContractResponseDTO implements Serializable {

	private String contractNo;// 合同编号
	private List<APart> aPartList = new ArrayList<>();// 甲方列表
	private BPart bPart = new BPart();// 乙方
	private CPart cPart = new CPart();// 丙方
	private DPart dPart = new DPart();// 丁方
	private EPart ePart = new EPart();//戍方
	private BigDecimal amount;// 合同金额
	private Integer deadline;// 借款期限
	private Byte deadlineUnit;//合同期限类型1月2天
	private BigDecimal borrowRate;// 借款年华利率
	private BigDecimal loanInterest;// 借款利息
	private String repaymentType;// 还款方式
	private String projectTitle;// 借款用途
	private Date refundDate;// 最后还款日期
	private BigDecimal penaltyRate;// 罚息率
	private BigDecimal platformManagementFee;// 平台管理费
	private BigDecimal guaranteeServiceFee;// 担保服务费
	private BigDecimal platformManagementFeeRateYear;// 平台管理年化率
	private BigDecimal guaranteeServiceFeeRateYear;// 担保服务年化率
	private BigDecimal consultantFee;//咨询服务费
	private BigDecimal consultantFeeYear;//咨询服务年化率
	//立即支付咨询服务费
	private BigDecimal immediatePaymentConsultantFee;
	//咨询服务费第一年应收
	private BigDecimal firstYearConsultantFee;
	//咨询服务费第二年应收
	private BigDecimal secondYearsConsultantFee;
	//咨询服务费第三年应收
	private BigDecimal thirdYearConsultantFee;
	//债务总负担金额上限
	private BigDecimal payTotal;
	//债务总负担金额上限年化率
	private BigDecimal payTotalRateYear;
	private Date effectiveTime;// 生效时间

	//前置平台管理费
	private BigDecimal beforeManageFee;
	//平台管理费费用
	private BigDecimal manageFee;
	//平台管理费收取节点: 1放款时、2还款第一期、3还款每期
	private Byte guaranteeFeeChargeNode;

	/**
	 * 甲方
	 */
	@Data
	@ToString
	public static class APart implements Serializable {
		private String name;// 姓名
		private String idCard;// 身份证
		private BigDecimal amount;// 金额
	}

	/**
	 * 已方
	 */
	@Data
	@ToString
	public static class BPart implements Serializable {
		private String name;// 姓名
		private String idCard;// 身份证
		private String address;// 地址
		private String email;// 电子邮箱
		private String phone;//联系方式
		private String institutionalReditCode;// 机构信用代码
	}

	/**
	 * 丙方
	 */
	@Data
	@ToString
	public static class CPart implements Serializable {
		private String name;// 姓名
		private String email;// 电子邮箱
		private String institutionalReditCode;// 机构信用代码
	}

	/**
	 * 丁方
	 */
	@Data
	@ToString
	public static class DPart implements Serializable {
		private String name;// 姓名
		private String address;// 地址
	}
	/**
	 * 戊方
	 * @author liuchun
	 *
	 * 2018年5月21日
	 */
	@Data
	@ToString
	public static class EPart implements Serializable{
		private String name;// 姓名
		private String institutionalReditCode;// 机构信用代码
		private String address;// 地址
	}
	
	
}
